const http = require('http');
const fs = require('fs');
const path = require('path');

// 创建HTTP服务器
const server = http.createServer((req, res) => {
  console.log(`收到请求: ${req.method} ${req.url}`);
  
  // 设置响应头
  res.writeHead(200, {
    'Content-Type': 'text/plain; charset=utf-8',
    'Access-Control-Allow-Origin': '*'
  });
  
  // 使用 fs.createReadStream 创建可读流
  const readableStream = fs.createReadStream('data.txt', { encoding: 'utf8' });
  
  // 将流数据通过管道传输到响应对象
  readableStream.pipe(res);
  
  // 监听流事件
  readableStream.on('error', (err) => {
    console.error('读取文件时出错:', err);
    res.writeHead(500, { 'Content-Type': 'text/plain' });
    res.end('服务器内部错误');
  });
  
  readableStream.on('end', () => {
    console.log('文件流读取完成');
  });
});

// 监听8081端口
const PORT = 8081;
server.listen(PORT, () => {
  console.log(`服务器运行在 http://localhost:${PORT}`);
  console.log('请在浏览器中访问该地址查看流数据');
});

// 处理服务器错误
server.on('error', (err) => {
  console.error('服务器错误:', err);
});
